#include<iostream>
using namespace std;
/*
1、引用作为重载条件
2、函数重载碰到函数默认参数
*/
//1引用作为重载的条件，加const和不加const可以作为引用的重载条件
void func(int &a){//int &a=10 不合法
    cout<<"func(int &a)的调用"<<endl;
}
void func(const int &a){//const int &a=10 合法
    cout<<"func(const int &a)的调用"<<endl;
}
//函数重载碰到默认参数
void func2(int a,int b=10){
    cout<<"func2(int a,int b)的调用"<<endl;
}
void func2(int a){
    cout<<"func2(int a)的调用"<<endl;
}
int main(){
    int a=10;
    func(a);
    func(10);
    // func2(10);//当函数重载碰到默认参数，出现二义性，报错，尽量避免这种情况
    func2(10,20);//这个可以，不发生二义性，因为传递了两个参数，只对应那两个参数的func2
}